package IHM;


import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.*;
import javax.swing.*;



import Machine.*;


public class myIHM extends JFrame implements Runnable,DimensionIHM,ActionListener {

	/**
	 * @param args
	 */
	
	//public JScrollBar cadreCentre;
	public JScrollPane scroll;
		
	public CadreCentre cadrecentre;
	public CadreBas cadrebas;
	public CadreGauche cadregauche;
	
	
	public Machine machine[];
	public int NbMachine;
	
	public Thread tg;
	
	
	
	public myIHM(Machine machine[])
	{
		
		super("Monitoring");
		this.machine = machine;
		this.NbMachine = machine.length;
		
		
		tg = new Thread(this);
		
		init_ihm();
		
		tg.start();
		
	}
	
	
	public void init_ihm() {
		
		String Liste_machine [] = new String[NbMachine];
		
		for(int i=0;i<NbMachine;i++) {
			Liste_machine[i] = machine[i].name;
		}
		
		cadrecentre = new CadreCentre(Liste_machine);
		cadregauche = new CadreGauche();
		cadrebas = new CadreBas();
		
		BorderLayout disposition = new BorderLayout();
			
		this.setLayout(disposition);
		
		this.setPreferredSize(new Dimension(LARGEUR_FENETRE,HAUTEUR_FENETRE));
		
		/* A completer pour eviter d'agrandir la fenetre */
		
		scroll = new JScrollPane(cadrecentre);
		
		CadreCentre.setScrollBar(scroll,cadrecentre);
		
		CadreCentre.construire(cadrecentre,cadrecentre.machines);
		
		this.add("Center",scroll);
		
		this.add("West",cadregauche);
		this.add("South",cadrebas);
		
		/* Ajout des ecouteurs evenements */
		cadrebas.valider.addActionListener(this);
		cadrebas.SelectAll.addActionListener(this);
		
		
		/* Affichage de la fenetre */
		this.pack();
		this.setVisible(true);
					
	}
	
	
	public void lancer_test() {
		
		
		
	}
	
	
	public void actionPerformed(ActionEvent evt){
		
		if(evt.getSource() == cadrebas.valider) {
			
				lancer_test();
			
		}
		
		if(evt.getSource() == cadrebas.SelectAll) {
			
			for(int i=0;i<NbMachine;i++) {	
				cadrecentre.machines[i].boutonMachine.setSelected(true);
			}		
		}
		
	}
	
	
	
	public void run()
	{
	
		
		
		
		
	}
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}
